package com.deyuanyun.pic.ctrl.excelImport;

import com.deyuanyun.pic.common.validator.annotations.CodeVail;
import com.deyuanyun.pic.common.validator.annotations.DataValidate;
import com.deyuanyun.pic.ctrl.annotation.*;
import com.deyuanyun.pic.ctrl.validatefun.*;
import com.deyuanyun.pic.ctrl.annotation.DbTable;
import com.deyuanyun.pic.ctrl.util.AutoImportInterface;
import com.deyuanyun.pic.pipe.validatefun.CodeValidata;

import java.util.Date;

/**

说明:Z:\excel\涂层检测与评价\2外涂层漏损点信息表（导入、导出）2张.xls

**/
@DbTable(name="PIC_CTRL_EXINSP_OCLPOINT",startRow=4,sumCell=25,excelName="外涂层漏损点信息表.xls")
public class PicCtrlExinspOclpointExcel implements AutoImportInterface
{

      /**
      * 管道名称
      */
      @Head( name="管道名称",row=2,cell=0)
      @DbFiled( name="PIPE_LINE_ID" ,type="CHAR")
      @DataValidate(notNull = true,myFunction = PipeLineValidata.class,myFunctionMessage="管道信息与项目要求管道不一致")
      private String pipeLineId;

      /**
      * 漏损点编号
      */
      @Head( name="漏损点编号",row=2,cell=1)
      @DbFiled( name="CUSTOM_NUMBER" ,type="VARCHAR2")
      @DataValidate(notNull = true,myFunction = OclpointValid.class,myFunctionMessage="漏损点编号重复")
      private String customNumber;

    /**
     * 最近测试桩
     */
    @Head( name="最近测试桩",row=3,cell=2)
    @DbFiled( name="NAGM" ,type="CHAR")
    @DataValidate(notNull = false,myFunction = TestStationVali.class,myFunctionMessage = "未找到测试桩")
    private String nagm;

    /**
     * 相对最近测试桩距离（m）
     */
    @Head( name="相对最近测试桩距离（m）",row=3,cell=3)
    @DbFiled( name="NAGM_MILEAGE" ,type="NUMBER")
    @DataValidate(type = Number.class,myFunction = MileageValid.class)
    private String nagmMileage;

      /**
      * X
      */
      @Head( name="X",row=3,cell=4)
      @DbFiled( name="POSITION_X" ,type="NUMBER")
      @DataValidate(type = Number.class)
      private String positionX;

      /**
      * Y
      */
      @Head( name="Y",row=3,cell=5)
      @DbFiled( name="POSITION_Y" ,type="NUMBER")
      @DataValidate(type = Number.class)
      private String positionY;

      /**
      * Z
      */
      @Head( name="Z",row=3,cell=6)
      @DbFiled( name="POSITION_Z" ,type="NUMBER")
      @DataValidate(type = Number.class)
      private String positionZ;

      /**
      * 位置描述
      */
      @Head( name="位置描述",row=2,cell=7)
      @DbFiled( name="LOCATION_DESCRIPTION" ,type="VARCHAR2")
      @DataValidate(notNull = true,lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      private String locationDescription;

      /**
      * 埋深（m）
      */
      @Head( name="埋深（m）",row=2,cell=8)
      @DbFiled( name="BURIED_DEPTH" ,type="NUMBER")
      @DataValidate(type = Number.class)
      private String buriedDepth;

      /**
      * dB值
      */
      @Head( name="dB值",row=2,cell=9)
      @DbFiled( name="DB_VALUE" ,type="NUMBER")
      @DataValidate(type = Number.class,notNull = true)
      private String dbValue;

      /**
      * IR%
      */
      @Head( name="IR%",row=2,cell=10)
      @DbFiled( name="IR_VALUE" ,type="VARCHAR2")
      @DataValidate(lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      private String irValue;

      /**
      * 通电电位(mV)
      */
      @Head( name="通电电位(mV)",row=2,cell=11)
      @DbFiled( name="ON_POTENTIAL" ,type="NUMBER")
      @DataValidate(type = Number.class,notNull = true)
      private String onPotential;

      /**
      * 断电电位(mV)
      */
      @Head( name="断电电位(mV)",row=2,cell=12)
      @DbFiled( name="OFF_POTENTIAL" ,type="NUMBER")
      @DataValidate(type = Number.class,notNull = true)
      private String offPotential;

      /**
      * 交流干扰程度
      */
      @EnumVail(enumClass=com.deyuanyun.pic.ctrl.enumeration.CurrentFerenceEnum.class,valMethod="getVal")
      @Head( name="交流干扰程度",row=3,cell=13)
      @DbFiled( name="AC_INTERFERENCE" ,type="VARCHAR2")
      @DataValidate(myFunctionMessage="可选值无对应值",myFunction = EnumValidata.class)
      private String acInterference;

      /**
      * 直流干扰程度
      */
      @EnumVail(enumClass=com.deyuanyun.pic.ctrl.enumeration.CurrentFerenceEnum.class,valMethod="getVal")
      @Head( name="直流干扰程度",row=3,cell=14)
      @DbFiled( name="DC_INTERFERENCE" ,type="VARCHAR2")
      @DataValidate(myFunctionMessage="可选值无对应值",myFunction = EnumValidata.class)
      private String dcInterference;

      /**
      * 漏损点等级
      */
      @EnumVail(enumClass=com.deyuanyun.pic.ctrl.enumeration.FaultGradeEnum.class,valMethod="getVal")
      @Head( name="漏损点等级",row=2,cell=15)
      @DbFiled( name="FAULT_GRADE" ,type="NUMBER")
      @DataValidate(notNull = true,myFunctionMessage="可选值无对应值",myFunction = EnumValidata.class)
      private String faultGrade;

      /**
      * 修复建议
      */
      @Head( name="修复建议",row=2,cell=16)
      @DbFiled( name="REPAIR_SUGGESTION" ,type="CHAR")
      @CodeVail(majorCode = "REPAIR_SUGGESTED")
      @DataValidate(notNull = true,myFunctionMessage="数据库无对应值",myFunction = CodeValidata.class)
      private String repairSuggestion;

      /**
      * 最迟修复时间
      */
      @Head( name="最迟修复时间",row=2,cell=17)
      @DbFiled( name="LATEST_REPAIR_TIME" ,type="DATE")
      @DataValidate(type = Date.class)
      private String latestRepairTime;

      /**
      * 修复状态
      */
      @EnumVail(enumClass=com.deyuanyun.pic.ctrl.enumeration.RepairStateEnum.class,valMethod="getVal")
      @Head( name="修复状态",row=2,cell=18)
      @DbFiled( name="REPAIR_STATE" ,type="VARCHAR2")
      @DataValidate(notNull = true,myFunctionMessage="可选值无对应值",myFunction = EnumValidata.class)
      private String repairState;

      /**
      * 检测日期
      */
      @Head( name="检测日期",row=2,cell=19)
      @DbFiled( name="TESTING_DATE" ,type="DATE")
      @DataValidate(type = Date.class,notNull = true)
      private String testingDate;

      /**
      * 检测单位
      */
      @Head( name="检测单位",row=2,cell=20)
      @DbFiled( name="TESTING_COMPANY" ,type="VARCHAR2")
      @DataValidate(notNull = true,lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      private String testingCompany;

      /**
      * 记录人
      */
      @Head( name="记录人",row=2,cell=21)
      @DbFiled( name="RECORDER" ,type="VARCHAR2")
      @DataValidate(lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      @AutoLoginUser
      private String recorder;

      /**
      * 记录时间
      */
      @Head( name="记录时间",row=2,cell=22)
      @DbFiled( name="RECORD_TIME" ,type="DATE")
      @DataValidate(type = Date.class)
      @AutoDate
      private String recordTime;

      /**
      * 备注
      */
      @Head( name="备注",row=2,cell=23)
      @DbFiled( name="REMARKS" ,type="VARCHAR2")
      @DataValidate(lengthLimit="50",lengthLimitMessage = "长度不符合规范，最多50个字")
      private String remarks;

      /**
      * id
      */
      @DbFiled( name="ID_")
      @AutoId
      private String id;

    @DbFiled( name="MILEAGE",type = "NUMBER")
    private String mileage;



    @AutoExinspTask
    @DbFiled( name="EXINSP_TASK_ID",type="VARCHAR2")
    private String exinspTaskId;

    @DbFiled( name="DATA_STATED",type="VARCHAR2")
    private String dataStated;


    @DbFiled( name="IS_NEWEST",type="NUMBER")
    private String isNewset;

    public String getIsNewset() {
        return isNewset;
    }

    public void setIsNewset(String isNewset) {
        this.isNewset = isNewset;
    }
    public String getDataStated() {
        return dataStated;
    }

    public void setDataStated(String dataStated) {
        this.dataStated = dataStated;
    }

    public String getExinspTaskId() {
        return exinspTaskId;
    }

    public void setExinspTaskId(String exinspTaskId) {
        this.exinspTaskId = exinspTaskId;
    }


    public String getNagm() {
        return nagm;
    }

    public void setNagm(String nagm) {
        this.nagm = nagm;
    }

    public String getNagmMileage() {
        return nagmMileage;
    }

    public void setNagmMileage(String nagmMileage) {
        this.nagmMileage = nagmMileage;
    }
    public String getMileage() {
        return mileage;
    }

    public void setMileage(String mileage) {
        this.mileage = mileage;
    }

    public String getPipeLineId()
    {

        return  this.pipeLineId;
    }
    public void setPipeLineId(String pipeLineId)
    {

      this.pipeLineId=pipeLineId;
    }


    public String getCustomNumber()
    {

        return  this.customNumber;
    }
    public void setCustomNumber(String customNumber)
    {

      this.customNumber=customNumber;
    }


    public String getPositionX()
    {

        return  this.positionX;
    }
    public void setPositionX(String positionX)
    {

      this.positionX=positionX;
    }


    public String getPositionY()
    {

        return  this.positionY;
    }
    public void setPositionY(String positionY)
    {

      this.positionY=positionY;
    }


    public String getPositionZ()
    {

        return  this.positionZ;
    }
    public void setPositionZ(String positionZ)
    {

      this.positionZ=positionZ;
    }


    public String getLocationDescription()
    {

        return  this.locationDescription;
    }
    public void setLocationDescription(String locationDescription)
    {

      this.locationDescription=locationDescription;
    }


    public String getBuriedDepth()
    {

        return  this.buriedDepth;
    }
    public void setBuriedDepth(String buriedDepth)
    {

      this.buriedDepth=buriedDepth;
    }


    public String getDbValue()
    {

        return  this.dbValue;
    }
    public void setDbValue(String dbValue)
    {

      this.dbValue=dbValue;
    }


    public String getIrValue()
    {

        return  this.irValue;
    }
    public void setIrValue(String irValue)
    {

      this.irValue=irValue;
    }


    public String getOnPotential()
    {

        return  this.onPotential;
    }
    public void setOnPotential(String onPotential)
    {

      this.onPotential=onPotential;
    }


    public String getOffPotential()
    {

        return  this.offPotential;
    }
    public void setOffPotential(String offPotential)
    {

      this.offPotential=offPotential;
    }


    public String getAcInterference()
    {

        return  this.acInterference;
    }
    public void setAcInterference(String acInterference)
    {

      this.acInterference=acInterference;
    }


    public String getDcInterference()
    {

        return  this.dcInterference;
    }
    public void setDcInterference(String dcInterference)
    {

      this.dcInterference=dcInterference;
    }


    public String getFaultGrade()
    {

        return  this.faultGrade;
    }
    public void setFaultGrade(String faultGrade)
    {

      this.faultGrade=faultGrade;
    }


    public String getRepairSuggestion()
    {

        return  this.repairSuggestion;
    }
    public void setRepairSuggestion(String repairSuggestion)
    {

      this.repairSuggestion=repairSuggestion;
    }


    public String getLatestRepairTime()
    {

        return  this.latestRepairTime;
    }
    public void setLatestRepairTime(String latestRepairTime)
    {

      this.latestRepairTime=latestRepairTime;
    }


    public String getRepairState()
    {

        return  this.repairState;
    }
    public void setRepairState(String repairState)
    {

      this.repairState=repairState;
    }


    public String getTestingDate()
    {

        return  this.testingDate;
    }
    public void setTestingDate(String testingDate)
    {

      this.testingDate=testingDate;
    }


    public String getTestingCompany()
    {

        return  this.testingCompany;
    }
    public void setTestingCompany(String testingCompany)
    {

      this.testingCompany=testingCompany;
    }


    public String getRecorder()
    {

        return  this.recorder;
    }
    public void setRecorder(String recorder)
    {

      this.recorder=recorder;
    }


    public String getRecordTime()
    {

        return  this.recordTime;
    }
    public void setRecordTime(String recordTime)
    {

      this.recordTime=recordTime;
    }


    public String getRemarks()
    {

        return  this.remarks;
    }
    public void setRemarks(String remarks)
    {

      this.remarks=remarks;
    }


    public String getId()
    {

        return  this.id;
    }
    public void setId(String id)
    {

      this.id=id;
    }





}